package com.woniu.dao;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.woniu.entity.CreUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CreditUserDao {
    /**
     * 检查用户名是否存在
     *
     * @param username
     * @return
     */
    int checkUserNameUnique(String username);

    /**
     * 注册用户信息
     *
     * @param creUser
     * @return
     */
    int registerUser(CreUser creUser);

    /**
     * 新增用户角色
     *
     * @param userId
     * @param roleId
     * @return
     */
    int insertRoleId(@Param("userId") long userId, @Param("roleId") long roleId);

    /**
     * 根据用户姓名查找用户Id
     *
     * @param username
     * @return
     */
    long findUserIdByName(String username);


    /**
     * 根据条件分页查询用户列表
     *
     * @return 用户信息集合信息
     */
    public List<CreUser> selectCreUserList(CreUser user);


    public int updateCreUser(CreUser user);

    /**
     * 新增用户详情表
     *
     * @return
     */
    int insertUserDetail(CreUser creUser);


    /**
     * 检查用户手机号是否存在
     *
     * @param phonenumber
     * @return
     */
    int checkPhoneNumberUnique(String phonenumber);

    /**
     * 根据条件分页查询用户列表
     *
     * @param user
     * @return
     */
    List<SysUser> selectUserList(SysUser user);

    CreUser selectUserDetById(Long userId);

    int checkIdentityCardUnique(@Param("identityCard") String identityCard, @Param("userId") long userId);

    int checkBankCardUnique(@Param("bankCard") String bankCard, @Param("userId") long userId);

    int checkHouseCertificateUnique(@Param("houseCertificate") String houseCertificate, @Param("userId") long userId);


    CreUser findUserById(@Param("id") int id);

    List<CreUser> selectLoanUser();

    List<CreUser> selectLoansUser();

    List<CreUser> selectOutUser();

    List<CreUser> selectOutsUser();

    SysUser findSysUserById(int id);
}
